<?php

namespace Luka\StoreBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Luka\StoreBundle\Entity\File
 *
 * @ORM\Table(name="File")
 * @ORM\Entity
 */
class File
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string $name
     *
     * @ORM\Column(name="name", type="string", length=100, nullable=false)
     */
    private $name;

    /**
     * @var string $mimetype
     *
     * @ORM\Column(name="mimetype", type="string", length=50, nullable=true)
     */
    private $mimetype;

    /**
     * @var Visibility
     *
     * @ORM\ManyToOne(targetEntity="Visibility")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="visibility_id", referencedColumnName="id")
     * })
     */
    private $visibility;

    /**
     * @var Filetype
     *
     * @ORM\ManyToOne(targetEntity="Filetype")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="filetype_id", referencedColumnName="id")
     * })
     */
    private $filetype;



    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set name
     *
     * @param string $name
     */
    public function setName($name)
    {
        $this->name = $name;
    }

    /**
     * Get name
     *
     * @return string 
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set mimetype
     *
     * @param string $mimetype
     */
    public function setMimetype($mimetype)
    {
        $this->mimetype = $mimetype;
    }

    /**
     * Get mimetype
     *
     * @return string 
     */
    public function getMimetype()
    {
        return $this->mimetype;
    }

    /**
     * Set visibility
     *
     * @param Luka\StoreBundle\Entity\Visibility $visibility
     */
    public function setVisibility(\Luka\StoreBundle\Entity\Visibility $visibility)
    {
        $this->visibility = $visibility;
    }

    /**
     * Get visibility
     *
     * @return Luka\StoreBundle\Entity\Visibility 
     */
    public function getVisibility()
    {
        return $this->visibility;
    }

    /**
     * Set filetype
     *
     * @param Luka\StoreBundle\Entity\Filetype $filetype
     */
    public function setFiletype(\Luka\StoreBundle\Entity\Filetype $filetype)
    {
        $this->filetype = $filetype;
    }

    /**
     * Get filetype
     *
     * @return Luka\StoreBundle\Entity\Filetype 
     */
    public function getFiletype()
    {
        return $this->filetype;
    }
}